const puppeteer = require('puppeteer');
const fs = require('fs');
var _headers = ['id', 'name', 'age', 'country', 'ee'];
const dlXlsx = require('./dlXlsx.js');
const getDate = require('./getDate.js');

;(async () => {
   const browser = await puppeteer.launch({
    headless: false, //默认为true（无头），不显示浏览器界面
    slowMo :200, //减速显示，有时会作为模拟人操作特意减速
    devtools: true //显示开发者工具。页面宽高默认800*600,把开发者工具显示再隐藏页面会占满屏幕，有没有大佬解释下？
  });

  //生成Page对象
  //const page = await browser.newPage();//官网写法：一打开浏览器会打开两个tab，第二个才是你正在操作的tab
  const page = (await browser.pages())[0]; //这是我的写法，只有一个tab
  await page.setViewport({ // 页面宽高默认800*600,我觉得太小。我一般都会先初始化页面大小。
    width: 1280,
    height: 800
  });
  await page.goto('http://61.163.88.227:8006/hwsq.aspx'); //跳转到页面

 //请开始你的表演...
  await page.waitFor(1000);

  const result = await page.evaluate(() => {
     document.querySelector('#ContentLeft_menuDate1_TextBox11').value = '2018-04-01'
     document.querySelector('#ContentLeft_Button1').click()
     var resultData = {
       time:'',
       data: []
      }

      let p = new Promise((resolve) => {
         setTimeout(() => {
            var table1 = document.querySelectorAll('#UpdatePanel1 > table.mainTxt > tbody > tr > td:nth-child(1) > table > tbody > tr')
            var table2 = document.querySelectorAll('#UpdatePanel1 > table.mainTxt > tbody > tr > td:nth-child(2) > table > tbody > tr');
            var title = document.querySelector('div.secTitle').innerText;
            var allData = Array.prototype.slice.call(table1,1).concat(Array.prototype.slice.call(table2,1))
            resultData.time = title
            for (var i = 0, len = allData.length; i < len; i++) {
              var tests = allData[i].innerText.split('\t')

              var obj = {
                'id':tests[0],
                'name':tests[1],
                'age':tests[2],
                'country':tests[3],
                'ee':tests[4]
              }
               resultData.data.push(obj)
            }
            resolve(resultData)
          }, 3000)
      })
      return p
     })

    // await page.waitFor(10000);
  await dlXlsx(_headers, result.data, result.time);
  console.log('Dimensions:', result);


  await browser.close(); //关闭浏览器
  // process.exit(0)
})();
